home *** CD-ROM | disk | FTP | other *** search
Wrap
;========== ;Multi-Server v2.0 - http://www.c-script.com/ ; ;Originally created for C-Script v3.0 by zforce, but totally re-written ;for C-Script v5.0 and up by jCd and SethD. ;========== ;Menus menu @msquery { Whois:ms.toserver WHOIS $mid($active,3,999) CTCP .Ping:ms.e $clr(ctcp) -> $chr(91) $+ $mid($active,3,999) $+ $chr(93) PING | ms.toserver PRIVMSG $mid($active,3,999) :PING $ctime $+ .Version:ms.e $clr(ctcp) -> $chr(91) $+ $mid($active,3,999) $+ $chr(93) VERSION | ms.toserver PRIVMSG $mid($active,3,999) :VERSION - Join:ms.toserver JOIN $$?="Channel" Quit:ms.toserver quit : $+ %ms.vers } menu @mschan { dclick { if ($left($sline($active,1),1) == @) || ($left($sline($active,1),1) == +) { window -e @á $+ $mid($sline($active,1),2,999) $rand(0,200) $rand(0,200) 400 120 %ms.adir $+ msqpop.mrc $winfont } | else window -e @á $+ $mid($sline($active,1),1,999) $rand(0,200) $rand(0,200) 400 120 %ms.adir $+ msqpop.mrc $winfont } Ban List:ms.toserver mode $mid($active,2,999) +b Channel . $+ $ms.opdv(1,Op) $+ :ms.opdv 2 +o . $+ $ms.opdv(1,DeOp) $+ :ms.opdv 3 -o . $+ $ms.opdv(1,Voice) $+ :ms.opdv 4 +v . $+ $ms.opdv(1,DeVoice) $+ :ms.opdv 5 -v .Channel Mode:ms.toserver mode $mid($active,2,999) $$?="Enter Channel Mode(s):" . $+ $ms.opdv(1,Kick,...) $+ :ms.opdv 6 $?="Enter a reason:" Colors .Black/green:ms.sendmsg $ibg($$?="Enter Text To Colorize:") .Black/red/green:ms.sendmsg $ibrg($$?="Enter Text To Colorize:") .Black/white:ms.sendmsg $ibw($$?="Enter Text To Colorize:") .Box:ms.sendmsg 4,4 $$?="Enter Text To Box:" $+ ! | ms.sendmsg 0,4 $! 1,1! | ms.sendmsg 4,4 $! 1,1! | ms.sendmsg 0,0 1,1 $! $+ ! .Brain:ms.sendmsg $iBrain($$?="Enter Text to Colorize:") .Brick:ms.sendmsg $iBrick($$?="Enter Text To Brick:") .Red/Green:ms.sendmsg $irg($$?="Enter Text To Colorize:") .Red/White:ms.sendmsg $irw($$?="Enter Text To Colorize:") .Reverse:ms.sendmsg $iReverse($$?="Enter Text To Reverse:") - Channel List:ms.toserver list Play a Sound:set %ms.ssfile $$dir="Choose a file:" $wavedir | ms.toserver PRIVMSG $mid($active,2,999) :SOUND $nopath(%ms.ssfile) $+ | ms.sendmsg That was $nopath(%ms.ssfile) ( $+ $lof(%ms.ssfile) bytes) | splay %ms.ssfile - Change Topic:ms.toserver TOPIC $mid($active,2,999) : $+ $$?="Topic:" Join:ms.toserver JOIN $$?="Channel:" Names:ms.toserver names $mid($active,2,999) Part:ms.toserver part $mid($active,2,999) - Quit:ms.toserver quit : $+ %ms.vers } menu @MServeráHelp { dclick window -c @mserveráhelp Close Help:window -c @mserveráhelp } menu @BanáList { dclick ms.banlist Remove Ban(s):ms.banlist } menu @List { dclick ms.toserver join $sline(@List,1) Join:ms.toserver join $sline(@List,1) } menu @LinksáList { dclick ms.linkscon Connect to Server:ms.linkscon } menu @StatusáWindow { MOTD:ms.toserver motd LUsers:ms.toserver lusers Links:wincheck @linksáList -l @LinksáList $center(750,300,@linksáList) $wh(750,300,@linksáList) @LinksáList Comic sans ms 12 | ms.toserver links - Channel List:ms.toserver list Who:ms.toserver who $?="Parms:" Join:ms.toserver join #$?="Channel:" Names:ms.toserver names #$?="Channel:" Part:ms.toserver part #$?="Channel:" Part All:ms.toserver join 0 Quit:ms.toserver quit : $+ %ms.vers - Connect:mserver $$?="Server:" $?="Port:" } on 1:START:ms.unload on 1:close:@#*:if ($sock(mserver).port != $null) { ms.toserver PART $mid($active,2,999) } on 1:close:@StatusáWindow:ms.toserver quit : $+ %ms.vers | sockclose MSERVER | ms.unload ;Status window, query, and channel handling on 1:INPUT:@á* { if ($pos($1,$chr(47)) == 1) { set %ms.tmp.cmnd $read -s $+ $mid($1,2,$calc($len($1) - 1)) $scriptdir $+ msalias.mrc if (%ms.tmp.cmnd == $null) { ms.toserver $mid($1,2,$calc($len($1) - 1)) $2- | halt } elseif (%ms.tmp.cmnd != $null) { %ms.tmp.cmnd | halt } } else { ms.sendmsg $1- | halt } } on 1:INPUT:@#*,@StatusáWindow { if (($gettok($1,1,32) == /me) || ($gettok($1,1,32) == /say) && ($active == @StatusáWindow)) { ms.e $clr(info) *** You're not on a channel | halt } elseif ($pos($1,$chr(47)) == 1) { set %ms.tmp.cmnd $read -s $+ $mid($1,2,$calc($len($1) - 1)) $scriptdir $+ msalias.mrc if (%ms.tmp.cmnd == $null) { ms.toserver $mid($1,2,$calc($len($1) - 1)) $2- | halt } elseif (%ms.tmp.cmnd != $null) { %ms.tmp.cmnd | halt } } else { if ($active == @statusáwindow) { ms.e $clr(info) *** You're not on a channel } | else { ms.sendmsg $1- } | halt } } ;Socket events on 1:sockopen:MSERVER { if ($sockerr > 0) { ms.err | halt } set %ms.mode + | sockmark mserver $readini mirc.ini mirc nick | sockwrite -tn MSERVER NICK $readini mirc.ini mirc nick | sockwrite -tn MSERVER USER $readini mirc.ini ident userid "" " $+ %ms.server $+ " : $+ $readini mirc.ini mirc user | set %ms.online Yes | sockmark mserver $readini mirc.ini mirc nick } on 1:sockread:MSERVER: { if ($sockerr > 0) { ms.err | halt } :back sockread %ms.read if ($sockbr == 0) return ms.process %ms.read goto back } on 1:sockclose:MSERVER { if ($sockerr > 0) { ms.err | halt } if ($window(@StatusáWindow) != $null) { echo $clr(info) @StatusáWindow *** Disconnected } ms.unload } ;Unloading MServer alias ms.unload unset %ms.* | winclose @banálist @links @list | .sockclose MSERVER ; Send data directly to server alias ms.toserver { if ($sock(MSERVER,1) == $null) { ms.e $clr(info) *** Not connected to server | halt } sockwrite -tn MSERVER $1- } ;Channel control alias ms.opdv { if ($1 == 1) { if ($sline($active,0) == 0) { return } if ($sline($active,0) > 1) { return $2 Selected $+ $3 } if ($sline($active,0) < 2) { return $2 $+ $3 } } unset %ms.rs* if ($1 isnum 2-5) { set %ms.cont mode $mid($active,2,999) | set %ms.rs $2 } if ($1 == 6) { set %ms.cont kick $mid($active,2,999) | set %ms.rs2 $2- } set %ms.count 0 :next inc %ms.count | if (%ms.count > $sline($active,0)) { halt } if ($mid($sline($active,%ms.count),1,1) == @) || ($mid($sline($active,%ms.count),1,1) == +) { ms.toserver %ms.cont %ms.rs $mid($sline($active,%ms.count),2,999) %ms.rs2 } else ms.toserver %ms.cont %ms.rs $sline($active,%ms.count) %ms.rs2 goto next } ;Error alias for different situations. alias ms.err { ms.e $clr(info) The M-Server has encountered an error connecting to %ms.server ms.e $clr(info) Possible Causes: ms.e $clr(info) 1. Connection to the server timed out. ms.e $clr(info) 2. You tried to connect to an invalid server port. ms.e $clr(info) 3. You tried to connect to an invalid server. ms.e $clr(info) Please try one of the following: ms.e $clr(info) 1. Connect again to a different port. ms.e $clr(info) 2. Connect again to a different server. ms.e $clr(info) 3. Connect again at a later time. ms.unload } ;MServer help alias mshelp { wincheck @MServeráHelp @MServeráHelp $center(540,320,@MServeráHelp) $wh(540,320,@MServeráHelp) @MServeráHelp Comic Sans MS 12 loadbuf -p @MServeráHelp $scriptdir $+ mserver.chf sline @MServeráHelp 14 | window -b @MServeráHelp } ;Parsing of incoming data from server alias ms.process { ;Numerics if ($group(#rawecho) == on) { if ($2 == 311) { ms.e $clr(info) å) Whois Reply: $+ $clr(info2) $4 ( $+ $5 $+ @ $+ $6 $+ ) | ms.e $clr(info) å) IRC Name: $+ $clr(info2) $ms.col($8-) | halt } if ($2 == 319) { set %chans $ms.col($5-) | halt } if ($2 == 307) { ms.e $clr(info) å) $3 is a Registered NickName | halt } if ($2 == 312) { ms.e $clr(info) å) Channels: $+ $clr(info2) $var(None,%chans) $+ $clr(info) $+ Server: $+ $clr(info2) $5 | unset %chans | halt } if ($2 == 301) { if ($3 == $me) { halt } | else { ms.e $clr(info) å) $4 is Away: $ms.col($5-) | halt } } if ($2 == 310) { ms.e $clr(info) å) $4 $ms.col($5-) | halt } if ($2 == 313) { ms.e $clr(info) å) $4 $ms.col($5-) | halt } if ($2 == 309) { ms.e $clr(info) å) $4 $ms.col($5-) | halt } if ($2 == 308) { ms.e $clr(info) å) $4 $ms.col($5-) | halt } if ($2 == 314) { ms.e $clr(info) å) WhoWas reply for: $+ $clr(info2) $4 ( $+ $5 $+ @ $+ $6 $+ ) | ms.e $clr(info) å) Name: $+ $clr(info2) $ms.col($8-) | halt } if ($2 == 317) { ms.e $clr(info) å) Idle Time: $+ $clr(info2) $duration($calc($ctime - $6)) | halt } if ($2 == 318) { linesep @statusáwindow | halt } if ($2 == 369) { linesep @statusáwindow | halt } if ($2 == 421) { ms.e $clr(info) å) Unknown command: $+ $clr(info2) $4 | halt } if ($2 == 401) { ms.e $clr(info) å) No such nick: $+ $clr(info2) $4 | halt } if ($2 == 402) { ms.e $clr(info) å) No such server: $+ $clr(info2) $4 | halt } if ($2 == 403) { ms.e $clr(info) å) No such channel: $+ $clr(info2) $4 | halt } if ($2 == 404) { ms.e $clr(info) å) Cannot send to channel | halt } if ($2 == 406) { ms.e $clr(info) å) There was no such nickname: $+ $clr(info2) $4 | halt } if ($2 == 433) { if ($4 == $readini mirc.ini mirc anick) { editbox @statusáwindow /nick } | ms.e $clr(info) å) NickName already in use: $+ $clr(info2) $4 | set %ms.nniu 1 } if ($2 == 472) { ms.e $clr(info) å) Unknown mode: $+ $clr(info2) $4 | halt } if ($2 == 501) { ms.e $clr(info) å) Unknown mode flag | halt } } if ($2 == 001) { set %ms.server $ms.col($gettok($1,1,32)) | sockmark mserver $gettok($gettok($4-,$calc($count($4-,$chr(32)) + 1),32),1,33) | ms.title } if ($2 == 221) { set %ms.mode $4 | ms.title | halt } if ($2 == 321) { wincheck @list -sl @List $center(741,250,@list) $wh(741,250,@List) @list comic sans ms 12 | halt } if ($2 == 322) { aline @List $4 ááááá $5 ááááá $ms.col($6) $7- | if (%ms.lstwld isin $4-) { aline @List $4 ááááá $5 ááááá $ms.col($6) $7- } | halt } if ($2 == 323) { window -b @List | ms.e $clr(info) *** End of /list | halt } if ($2 == 324) { titlebar $ms.w($4) [ $+ $5 $+ ]: $gettok($window($ms.w($4)).titlebar,2-999,32) | halt } if ($2 == 329) || ($2 == 331) { halt } if ($2 == 332) { titlebar $ms.w($4) $gettok($window($ms.w($4)).titlebar,1,58) $+ : $ms.col($5-) | echo $clr(info2) $ms.w($4) *** Topic is ' $+ $ms.col($5-) $+ ' | halt } if ($2 == 333) { echo $clr(info2) $ms.w($4) *** Set by $5 on $asctime($6) | halt } if ($2 == 353) { if (%ms.names != $null) { set %ms.list $ms.col($6-) | set %ms.count 0 :nn inc %ms.count | if ($gettok(%ms.list,%ms.count,32) == $null) { goto nnend } aline -l %ms.names $gettok(%ms.list,%ms.count,32) goto nn :nnend halt } } if ($2 == 364) { set %ms.temp $remove($6,:) | inc %ms.temp | iline @LinksáList 1 $str($remove($6,:),á) $4 ( $+ $remove($6,:) $+ ) $7- | halt } if ($2 == 365) { ms.e $clr(info) *** End of Links list | halt } if ($2 == 366) { if (%ms.names != $null) { unset %ms.names | halt } } if ($2 == 367) { if ($window(@BanáList).state == $null) { wincheck @BanáList -l @BanáList $center(330,100,@banálist) $wh(330,100,@banálist) @banálist comic sans ms 12 } aline @Banálist $4 $+ á $+ $5 $+ á-- Set by $6 on $asctime($7) halt } if ($2 == 368) { if ($window(@banálist).state == $null) { ms.e $clr(info2) *** No bans on $4 } | halt } if ($2 == 433) { if ($3 == *) && ($sock(mserver).mark != $readini mirc.ini mirc anick) { sockmark mserver $readini mirc.ini mirc anick | ms.title | ms.toserver NICK $readini mirc.ini mirc anick | goto 433 } | if ($3 == *) && ($sock(mserver).mark == +) { editbox @statusáwindow /nick } | :433 | if (%ms.nniu != $null) { unset %ms.nniu | halt } } if ($2 isnum) { ms.e $clr(normal) $ms.col($4-) } ;Non-numerics if ($2 == INVITE) { ms.e $clr(info2) *** $ms.col($gettok($1,1,$asc(!))) ( $+ $gettok($1,2,$asc(!)) $+ ) has invited you to join $ms.col($4) | halt } if ($1 == ERROR) { ms.e $clr(info2) *** ERROR: $ms.col($2-) | halt } if ($1 == PING) { sockwrite -n mserver PONG $2 | halt } if ($2 == NICK) { if ($ms.col($gettok($1,1,$asc(!))) == $sock(mserver).mark) { sockmark mserver $ms.col($3) | ms.title | ms.e $clr(info2) *** Your nick is now $ms.col($3) } ms.nick $ms.col($gettok($1,1,$asc(!))) $ms.col($3) halt } if ($2 == NOTICE) { if ($chr(35) !isin $3) { if ($chr(1) isin $4) { if (PING isin $4) { set %ms.rem $remove($5,$chr(1)) | ms.e $clr(ctcp) [ $+ $ms.col($gettok($1,1,$asc(!))) $ms.col($ms.col($4)) reply]: $calc( ($ticks - [ %ms.rem ] ) / 1024) seconds | halt } | ms.e $clr(ctcp) [ $+ $ms.col($gettok($1,1,$asc(!))) $ms.col($ms.col($4)) reply]: $remove($5-,$chr(1)) | halt } | ms.e $clr(notice) - $+ $ms.col($gettok($1,1,$asc(!))) $+ - $ms.col($4) $5- | halt } if ($mid($3,2,1) == $chr(35)) { echo $clr(notice) $3 - $+ $ms.col($gettok($1,1,$asc(!))) $+ : $+ $3 $+ - $ms.col($4) $5- } else ms.e $clr(notice) - $+ $ms.col($gettok($1,1,$asc(!))) $+ : $+ $3 $+ - $ms.col($4) $5- halt } if ($2 == PRIVMSG) { if (($chr(1) isin $4) && ($4 != : $+ $chr(1) $+ ACTION)) { unset %ms.fr if (($chr(1) isin $4) && ($chr(35) isin $3)) { set %ms.fr : $+ $3 } if ($4 == : $+ $chr(1) $+ VERSION $+ $chr(1)) { ms.e $clr(ctcp) [ $+ $ms.col($gettok($1,1,$asc(!))) $+ %ms.fr VERSION] sockwrite -n mserver NOTICE $ms.col($gettok($1,1,$asc(!))) : $+ $chr(1) $+ VERSION %ms.vers halt } if ($4 == : $+ $chr(1) $+ PING) { ms.e $clr(ctcp) [ $+ $ms.col($gettok($1,1,$asc(!))) $+ %ms.fr PING] sockwrite -n mserver NOTICE $ms.col($gettok($1,1,$asc(!))) : $+ $chr(1) $+ PING $5 $+ $chr(1) halt } if ($4 == : $+ $chr(1) $+ USERINFO $+ $chr(1)) { ms.e $clr(ctcp) [ $+ $ms.col($gettok($1,1,$asc(!))) $+ %ms.fr USERINFO] sockwrite -n mserver NOTICE $ms.col($gettok($1,1,$asc(!))) : $+ $chr(1) $+ USERINFO %ms.vers halt } if ($4 == : $+ $chr(1) $+ CLIENTINFO $+ $chr(1)) { ms.e $clr(ctcp) [ $+ $ms.col($gettok($1,1,$asc(!))) $+ %ms.fr CLIENTINFO] sockwrite -n mserver NOTICE $ms.col($gettok($1,1,$asc(!))) : $+ $chr(1) $+ CLIENTINFO %ms.vers halt } if ($4 == : $+ $chr(1) $+ TIME $+ $chr(1)) { ms.e $clr(ctcp) [ $+ $ms.col($gettok($1,1,$asc(!))) $+ %ms.fr TIME] sockwrite -n mserver NOTICE $ms.col($gettok($1,1,$asc(!))) : $+ $chr(1) $+ TIME $atime $+ $chr(1) halt } if ($4 == : $+ $chr(1) $+ FINGER $+ $chr(1)) { ms.e $clr(ctcp) [ $+ $ms.col($gettok($1,1,$asc(!))) $+ %ms.fr FINGER ] sockwrite -n mserver NOTICE $ms.col($gettok($1,1,$asc(!))) : $+ $chr(1) $+ FINGER %ms.vers halt } } if ($chr(35) !isin $3) { if ($4 == : $+ $chr(1) $+ ACTION) { echo $clr(action) $ms.w($ms.col($gettok($1,1,$asc(!))),$ms.col($gettok($1,2,$asc(!)))) * $ms.col($gettok($1,1,$asc(!))) $remove($5-,$chr(1)) | halt } if ($chr(1) isin $4) { if ($4 == : $+ $chr(1) $+ DCC) { ms.e $clr(ctcp) [ $+ $ms.col($gettok($1,1,$asc(!))) DCC] .raw PRIVMSG $me $4- halt } ms.e $clr(ctcp) [ $+ $ms.col($gettok($1,1,$asc(!))) $ms.col($ms.col($4)) $+ ] $remove($5-,$chr(1)) halt } echo $clr(normal) $ms.w($ms.col($gettok($1,1,$asc(!))),$ms.col($gettok($1,2,$asc(!)))) < $+ $ms.col($gettok($1,1,$asc(!))) $+ > $ms.col($4-) halt } if ($4 == : $+ $chr(1) $+ ACTION) { echo $clr(action) $ms.w($3) * $ms.col($gettok($1,1,$asc(!))) $remove($5-,$chr(1)) | halt } if ($chr(1) isin $4) { ms.e $clr(ctcp) $chr(91) $+ $ms.col($gettok($1,1,$asc(!))) $remove(%ms.fr,:) $ms.col($ms.col($remove($4,$chr(1)))) $+ $chr(93) $remove($5-,$chr(1)) halt } if ($mid($3,1,1) == @) { echo $3 * $+ $ms.col($gettok($1,1,$asc(!))) $+ : $+ $3 $+ * $ms.col($4) $5- | halt } echo $clr(normal) $ms.w($3,$ms.col($gettok($1,1,$asc(!)))) < $+ $ms.col($gettok($1,1,$asc(!))) $+ > $ms.col($4) $5- halt } if ($2 == QUIT) { ms.e $clr(info) *** $ms.col($gettok($1,1,$asc(!))) has quit IRC ( $+ $4- $+ ) | set %ms.count1 0 | set %ms.count2 $window(0) :quit inc %ms.count1 | if (%ms.count1 > %ms.count2) { goto quite } if (@#* iswm $window(%ms.count1)) { set %ms.nq quit | ms.rem $window(%ms.count1) $ms.col($gettok($1,1,$asc(!))) $4- } goto quit :quite unset %ms.nq halt } if ($2 == KICK) { if ($4 == $sock(mserver).mark) { ms.e $clr(info2) *** You were kicked from $3 by $ms.col($gettok($1,1,$asc(!))) ( $+ $ms.col($5-) $+ ) window -c $ms.w($3) halt } echo $clr(info2) $ms.w($3) *** $4 was kicked by $ms.col($gettok($1,1,$asc(!))) ( $+ $ms.col($5-) $+ ) ms.rem $ms.w($3) $4 } if ($2 == JOIN) { if ($ms.col($gettok($1,1,$asc(!))) == $sock(mserver).mark) { set %ms.names @ $+ $ms.col($3) wincheck %ms.names -esl11 %ms.names $rand(0,200) $rand(0,200) 570 220 @mschan $winfont echo $clr(info2) $ms.w($ms.col($3)) *** Now talking in $ms.col($3) | titlebar %ms.names [+]: | sockwrite -n mserver MODE $ms.col($3) halt } echo $clr(info2) $ms.w($ms.col($3)) *** $ms.col($gettok($1,1,$asc(!))) ( $+ $gettok($1,2,$asc(!)) $+ ) has joined $ms.col($3) aline -l @ $+ $ms.col($3) $ms.col($gettok($1,1,$asc(!))) halt } if ($2 == PART) { if ($ms.col($gettok($1,1,$asc(!))) == $sock(mserver).mark) { window -c $ms.w($3) | halt } if ($4 != $null) { echo $clr(info2) $ms.w($3) *** $ms.col($gettok($1,1,$asc(!))) ( $+ $ms.col($gettok($1,2,$asc(!))) $+ ) has left $3 ( $+ $ms.col($4-) $+ ) } else { echo $clr(info2) $ms.w($3) *** $ms.col($gettok($1,1,$asc(!))) ( $+ $ms.col($gettok($1,2,$asc(!))) $+ ) has left $3 } unset %ms.nq | ms.rem $ms.w($3) $ms.col($gettok($1,1,$asc(!))) | halt } if ($2 == TOPIC) { titlebar $ms.w($3) $gettok($window($ms.w($3)).titlebar,1,32) $ms.col($4-) | echo $clr(info2) $ms.w($3) *** $ms.col($gettok($1,1,$asc(!))) changes topic to ' $+ $ms.col($4-) $+ ' | halt } if ($2 == MODE) { if ($left($3,1) == $chr(35)) { echo $clr(mode) $ms.w($3) *** $ms.col($gettok($1,1,$asc(!))) sets mode: $ms.col($4-) set %ms.mode 0 | set %ms.vo 0 :mode inc %ms.mode | if ($mid($4,%ms.mode,1) == $null) { goto modend } if ($mid($4,%ms.mode,1) == +) { set %ms.type + } if ($mid($4,%ms.mode,1) == -) { set %ms.type - } if ($mid($4,%ms.mode,1) == b) { inc %ms.vo } if ($mid($4,%ms.mode,1) == o) { inc %ms.vo | ms.rem $ms.w($3) $gettok($5-,%ms.vo,32) if (%ms.type == +) { aline -l $ms.w($3) @ $+ $gettok($5-,%ms.vo,32) } else aline -l $ms.w($3) $gettok($5-,%ms.vo,32) } if ($mid($4,%ms.mode,1) == v) { inc %ms.vo if ($ms.op($ms.w($3),$gettok($5-,%ms.vo,32)) == $null) { ms.rem $ms.w($3) $gettok($5-,%ms.vo,32) if (%ms.type == +) { aline -l $ms.w($3) + $+ $gettok($5-,%ms.vo,32) } else aline -l $ms.w($3) $gettok($5-,%ms.vo,32) } } goto mode :modend } else ms.e $clr(mode) *** $ms.col($gettok($1,1,$asc(!))) sets mode: $ms.col($4-) sockwrite -n mserver MODE $3 } halt } ;Echos all information to the status window alias ms.e echo $1 @statusáwindow $2- ;Returns all information accept the first letter alias ms.col { if ($mid($1,1,1) == :) { return $mid($1-,2,9999) } if ($mid($2,1,1) == :) { return $1 $mid($2-,2,9999) } return $1- } ;Sends a message alias ms.sendmsg { if ($left($active,2) == @#) { ms.toserver PRIVMSG $mid($active,2,999) : $+ $1- | echo $active < $+ $sock(mserver).mark $+ > $1- } if ($left($active,2) == @á) { ms.toserver PRIVMSG $mid($active,3,999) : $+ $1- | echo $active < $+ $sock(mserver).mark $+ > $1- } } ;Returns the proper window name alias ms.w { if ($mid($1,1,1) == $chr(35)) { return @ $+ $1 } if ($mid($1,1,1) == @) { return $1 } else { set %ms.w @á $+ $1 if ($window(%ms.w).state == $null) { window -e @á $+ $1 $rand(0,200) $rand(0,200) 400 120 @msquery $winfont } titlebar @á $+ $1 ( $+ $2- $+ ) | return @á $+ $1 } } ;Removes a line from the channel list alias ms.rem { set %ms.lines $line($1,0,1) | set %ms.count 0 :next inc %ms.count | if (%ms.count > %ms.lines) { goto end } set %ms.read $line($1,%ms.count,1) | unset %ms.str if ($remove($remove(%ms.read,+),@) == $2) { if (@ isin %ms.read) { set %ms.str @ } | if (+ isin %ms.read) { set %ms.str + } dline -l $1 %ms.count if (%ms.nq == nick) { echo $clr(info2) $1 *** $2 is now known as $3 | aline -l $1 %ms.str $+ $3 } if (%ms.nq == quit) { echo $clr(info) $1 *** $2 has quit IRC ( $+ $3- $+ ) } goto end } goto next :end } ;Nick change alias ms.nick { set %ms.count2 $window(0) | set %ms.count1 0 | set %ms.nq nick :next inc %ms.count1 | if (%ms.count1 > %ms.count2) { goto end } if (@#* iswm $window(%ms.count1)) { ms.rem $window(%ms.count1) $1 $2 } goto next :end unset %ms.nq } ;@Status Window titlebar alias ms.title titlebar @StatusáWindow $sock(mserver).mark $chr(91) $+ %ms.mode $+ $chr(93) on %ms.server (Port: $sock(mserver).port $+ ) ;Closes all windows alias ms.closeall { set %ms.count 0 :next inc %ms.count | if (%ms.count > $window(0)) { goto end } if (@#* iswm $window(%ms.count)) || (@á* iswm $window(%ms.count)) { window -c $window(%ms.count) } goto next :end } ;Links alias ms.linkscon { if ($chr(91) isin $gettok($sline(@LinksáList,1),2,32)) { ms.server 1 $remove($remove($gettok($sline(@LinksáList,1),2,32),$chr(93)),$chr(91)) 6667 | goto done } if ($chr(91) isin $gettok($sline(@LinksáList,1),3,32)) { ms.server 1 $remove($remove($gettok($sline(@LinksáList,1),3,32),$chr(93)),$chr(91)) 6667 | goto done } if ($chr(91) isin $gettok($sline(@LinksáList,1),4,32)) { ms.server 1 $remove($remove($gettok($sline(@LinksáList,1),4,32),$chr(93)),$chr(91)) 6667 | goto done } if ($chr(46) isin $gettok($sline(@LinksáList,1),2,32)) { ms.server 1 $gettok($sline(@LinksáList,1),2,32) 6667 | goto done } else { ms.e $clr(info) *** Unable to resolve DNS for $gettok($sline(@LinksáList,1),2,32) | goto done } :done } alias ms.server { ms.unload | ms.closeall | wincheck @StatusáWindow -e @StatusáWindow $center(600,200,@statusáwindow) $wh(600,200,@statusáwindow) @statusáwindow $winfont | titlebar @StatusáWindow if ($2 == $null) { set %ms.server $server } else { set %ms.server $2 } if ($3 isnum) { sockopen mserver %ms.server $3 | echo $clr(info) @statusáwindow *** Connecting to %ms.server ( $+ $3 $+ ) } else { sockopen mserver %ms.server 6667 | echo $clr(info) @statusáwindow *** Connecting to %ms.server (6667) } set %ms.vers Multi-Server v2.0 - www.C-Script.com | halt } alias ms.op { set %ms.count4 0 :next inc %ms.count4 | if (%ms.count4 > $line($1,0,1)) { goto end } set %ms.read $line($1,%ms.count4,1) if ($mid(%ms.read,1,1) == @) && (@ $+ $2 == %ms.read) { return 1 } goto next :end return } alias ms.banlist { set %ms.count 0 :next inc %ms.count | if (%ms.count > $sline(@banálist,0)) { goto end } ms.toserver mode $gettok($sline(@banálist,%ms.count),1,160) -b $gettok($sline(@banálist,%ms.count),2,160) goto next :end } alias mserver ms.server server $1-